Remote control server, center server, and system constituted them

ABSTRACT

A system for autonomous decentralized control in which a client terminal and a center server are connected, as a network through a WAN and/or LAN, to a remote control server connected to a monitored/-controlled target device through a control communication network. The system is characterized in that a virtual machine, which is described as the other self of the monitored/controlled target device having the same information as that possessed by the monitored/controlled target device, and which is a software object having communication protocols used for communication with the monitored/controlled target device and concealed in the software object, is moved in the system with transparency and/or is held in the client terminal, the center server, or the remote control server.

TECHNICAL FIELD

The present invention relates to a server, more particularly a remotecontrol server and a center server, for monitoring/controlling a targetdevice under a network environment. Also, the present invention relatesto a system constructed of those servers.

BACKGROUND ART

Hitherto, to monitor and control various industrial devices,apparatuses, etc. located in a plurality of remote positions and tocollect data measured using various measuring instruments, includingelectronic meters, it has been required to issue commands from amonitoring/-control center or a data collection center to instruct anindustrial personal computer or general computer, which functions as aserver computer installed in each site and operates in accordance withprograms described in a special assembly language or the C language, tocollect monitored/controlled data and to execute a control program forcontrol of the controlled target device, etc., and to transmit theresult of device operation, the monitored measurement data, etc. to themonitoring/-control center through radio wirelessly or via publictelephone lines or dedicated lines.

In such a case, the monitoring/control center has issued commands to orhas received data, etc. from the personal computers or the generalcomputers, or the various measuring instruments installed in theplurality of remote positions through individual communications usingradio or telephone connection each time an occasion requires.

Therefore, a system must have been constructed by resorting tospecialized makers, expert persons, etc., who are well skilled incommunication protocols and control programs, and software such asdedicated programs must have been developed. Those situations haveresulted in a higher system price, a lower transmission rate ofcommands, data, etc., and an increased communication cost.

DISCLOSURE OF THE INVENTION

An object of the present invention is to provide a server, moreparticularly a remote control server and a center server formonitoring/controlling a target device under a network environment.

Another object of the present invention is to provide a system forautonomous decentralized control, in which the center server isconnected to the remote control server.

More specifically, an object of the present invention is to provide aserver, more particularly a remote control server and a center server,which can perform monitoring/control of the operation, collect data, andtransmit/receive related information when connected to various devicesor apparatuses in use, which can easily construct a system such as forhighly versatile remote monitoring/control utilizing the Internet, orfor emergency communication utilizing cellular phones, radio pagers,etc. and which can more simply and flexibly construct a system at alower cost than conventional dedicated monitoring/control systems, aswell as to provide a system constructed of those servers.

The present invention resides in a system for autonomous decentralizedcontrol in which a client terminal and a center server are connected, asa network through a WAN and/or LAN, to a remote control server connectedto a monitored/controlled target device through a control communicationnetwork, the system being characterized in that a virtual machine, whichis described as the other self of the monitored/-controlled targetdevice having the same information as that possessed by themonitored/controlled target device, and which is a software objecthaving communication protocols used for communication with themonitored/controlled target device and concealed in the software object,is moved in the system with transparency and/or is held in the clientterminal, the center server, or the remote control server.

The above expression “moved in the system with transparency” means thatthe virtual machine is able to seamlessly move between the informationcommunication network and the control communication network throughrewriting of status information and control information of each deviceinto a software object (data structure having both a value andproceedings for reading/writing the value) because the virtual machinecontains a plurality of communication protocols therein.

The server, in particular the remote control server, is able to changeinformation of the monitored/controlled target device and/or to monitorand control the target device by operating the virtual machine. In thiscase, the present invention resides in a system which can create, holdand/or operate a virtual machine being a software object described asthe other self of a monitored/controlled target device having the sameinformation as that possessed by the monitored/controlled target deviceand containing a plurality of communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, and/or which can distribute the virtual machineand can call, hold and/or operate a virtual machine created by anotherserver, and/or which can change information of the monitored/-controlledtarget device and/or control the target device by operating the virtualmachine.

Further, the server, in particular the remote control server, hasfunctions capable of creating, holding and/or operating an inclusivevirtual machine including setting of a plurality of virtual machinesand/or a fixed agent describing functions such as behaviors of each ofthe virtual machines, and/or including even records acquired througheach of the virtual machines, and a supervising virtual machine forsupervising a plurality of inclusive virtual machines, and/ordistributing the created inclusive and supervising virtual machines,and/or calling, holding and/or operating an inclusive virtual machineand a supervising virtual machine created by another remote controlserver. Preferably, the server can change information of each of theplurality of the monitored/controlled target devices and/or monitor andcontrol each target device by operating the inclusive virtual machinesand/or the supervising virtual machines. In this case, the presentinvention resides in a system which can call, hold and/or operate avirtual machine being a software object described as the other self of amonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device and containing aplurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or which can distribute the virtual machine, and/or which can call,hold and/or operate a virtual machine created by another remote controlserver, the server further having functions capable of creating, holdingand/or operating an inclusive virtual machine including setting of aplurality of virtual machines and/or a fixed agent describing functionssuch as behaviors of each of the virtual machines, and/or including evenrecords acquired through each of the virtual machines, and a supervisingvirtual machine for supervising a plurality of inclusive virtualmachines, and/or distributing the created inclusive and supervisingvirtual machines, and calling, holding and/or operating an inclusivevirtual machine and a supervising virtual machine created by anotherremote control server. In addition, preferably, the server can changeinformation of each of the plurality of the monitored/controlled targetdevices and/or monitor and control each target device by operating theinclusive virtual machines and/or the supervising virtual machines.

Moreover, the present invention resides in a system including a centerserver connected to a communication/information network and managing oneor more remote control servers and a system in whichmonitored/controlled target devices are all connected as a network,wherein the center server can create, hold and/or operate a virtualmachine being a software object described as the other self of eachmonitored/controlled target device having the same information as thatpossessed by the monitored/controlled target device and containing aplurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and can distribute, to one or more remote control servers, an agentdescribing behaviors, etc. of the virtual machine and/or the remotecontrol servers, the center server further having functions capable ofcreating, holding and/or operating an inclusive virtual machineincluding a plurality of virtual machines, and/or a fixed agentdescribing functions such as behaviors of each of the virtual machines,and/or even records acquired through each of the virtual machines, and asupervising virtual machine for supervising a plurality of inclusivevirtual machines, and/or distributing the created inclusive andsupervising virtual machines, and/or calling, holding and/or operatingvirtual machines, inclusive virtual machines and supervising virtualmachines created by the remote control servers. In addition, the centerserver can change information of each of the plurality of themonitored/controlled target devices and/or can monitor and control eachtarget device by sharing information in common with themonitored/controlled target devices, operating the virtual machines, theinclusive virtual machines and the supervising virtual machines, and/orby operating the agent. Through the operations described above, thecenter server performs management/processing of collected data andmanagement of the system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of hardware of a server.

FIG. 2 is a system configuration diagram showing a linkage of the serverwith a client terminal and a monitored/controlled target device when theserver is positioned as a remote control server relative to a centerserver.

FIG. 3 is an explanatory view of a server program 100 containing an OPserver 110 for managing a Vm class file as an operational program thatprovides information to a client or center side information terminal(client machine and center server), and an HTTP server 120 fordistributing a Vm class of the monitored/controlled target device to theclient or center side.

FIG. 4 is an explanatory view of a Vm management table 130 for themonitored/controlled target devices (the table containing not only Vmclass numbers of the monitored/controlled target devices for remotelycontrolling each monitored/controlled target device, but also interfacenumbers corresponding to the Vm class numbers of themonitored/controlled target devices), which is possessed by the OPserver.

FIG. 5 is an explanatory view of a server program containing fieldvariables corresponding to network variables of the monitored/controlledtarget devices, information referring methods for reading the fieldvariables, and information operating methods for operating ones of thefield variables which are allowed for change or setting.

FIG. 6 is a system configuration diagram resulting whenmonitored/controlled target devices 561, 562 are newly connected to aremote control server 54 in the state of FIG. 2 for sharing informationand performing monitoring/control by using an inclusive virtual machine.

FIG. 7 is a system configuration diagram resulting whenmonitored/controlled target devices 571, 572 are also newly connected toa remote control server 55 in the state of FIG. 6 and a remote controlserver 90 is further connected for sharing information and performingmonitoring/control by using a supervising virtual machine.

FIG. 8 is an explanatory view showing a state in which the remotecontrol server 90 having an inclusive virtual machine function 901,shown in FIG. 7, calls and holds inclusive virtual machines 54Se, 55Secreated by the remote control servers 54, 55, respectively.

FIG. 9 is an explanatory view showing a state in which a center server71, shown in FIG. 7, calls and holds a supervising virtual machines 90Tccreated by the remote control server 90.

FIG. 10 is an explanatory view showing a system in which themonitored/controlled target devices are monitored and controlled via aWAN and/or LAN by a center server or a client terminal, which isconnected to two servers positioned as remote control servers connectedto the monitored/-controlled target devices through controlcommunication ports.

FIG. 11 is an explanatory view showing a state in which the number ofthe monitored/controlled target devices is increased from the state ofFIG. 6 for sharing information and performing monitoring/control andlinked control by using the inclusive virtual machine.

FIG. 12 is an explanatory view showing a state in which the remotecontrol server 90 is connected via a WAN and/or LAN in the state of FIG.7 for sharing information and performing monitoring/control and linkedcontrol by using the supervising virtual machine.

BEST MODE FOR CARRYING OUT THE INVENTION

The above-mentioned server of the present invention includes a wirelesscommunication device as standard, and it can also be provided with anexternal communication device giving a serial communication functionwhen a communication standard is switched over from the wirelesscommunication device to RS232C installed in the server.

The above-mentioned server of the present invention includes a controlcommunication port capable of, as an occasion requires, communicatingwith and supplying power to the monitored/controlled target devices andan input/output unit, etc. in which a microcomputer, serving as acontrol communication LSI, or a control communication module isinstalled. Also, the server includes an Ethernet port for communicationusing Internet protocols via a wide area network with LAN (Local AreaNetwork) and WAN (Wide Area Network) devices.

The above-mentioned server of the present invention includes, as anoccasion requires, a digital input interface that is used for themonitored/controlled target devices and is electrically isolated from aninternal system.

Also, the above-mentioned server of the present invention includes aserial port to which a console unit for function setting and maintenanceof the system can be connected.

Further, it is possible to protect data in a memory area in the event ofpower-down with a backup battery, to record the date and time of thepower-down, and to restore to the state before the power-down at thetime of recovery.

The above-mentioned server of the present invention is able to, as anoccasion requires, externally operate a software input switch and ahardware reset switch, which provide respective timing inputs forstarting software installation and maintenance to an external storage.

Moreover, the above-mentioned server of the present invention includes areal-time operating system and a Java run environment as standard, andhas programs for providing a client server function, an agent serverfunction and an HTTP server function.

The above-mentioned server of the present invention has, as standard, aPPT (Point to Point Protocol) connection function capable of performingdata exchange and bi-directional call via public lines for the purposeof facilitating, e.g., installation of the server in a place wherelaying-down of cables is infeasible, and connection from a mobilemedium, as an occasion requires, and also has the function of directlycontrolling the PPP connection from Java applications and executing anemergency call such as an abnormality notice.

The above-mentioned server of the present invention has the FTP functionand the TELNET function, as an occasion requires, for transfer of filesand data to and from a client terminal, a center server and/or anexternal system. Also, the server has an environment for executing andmanaging Java applications under a network environment, and is able toprocess digital inputs with the Java applications.

The above-mentioned server of the present invention has the functioncapable of recording, as an occasion requires, an abnormal conditiondiscovered by a self-diagnosis function and operating and abnormalconditions of the monitored/controlled target devices and a controlcommunication network, as log messages, in a nonvolatile memory insidethe system with a system log management function, and the functioncapable of transmitting, as E-mails, an alarm message, etc. to presetplaces and persons.

The above-mentioned server of the present invention includes a remotestation system for, as an occasion requires, causing a fixed agent to bedistributed or to reside, and has monitoring function capable ofperforming information collection from and monitoring/control of themonitored/controlled target devices, which are connected to the outside,using virtual machines, and capable of executing processing,computations, etc. of the collected information. Stated otherwise, in apreferable form, the server of the present invention can create, holdand/or operate a virtual machine, which is a software object describedas the other self of each monitored/controlled target device having thesame information as that possessed by the monitored/controlled targetdevice and contains a plurality of communication protocols used forcommunication with the monitored/controlled target device and concealedin the software object, and/or can distribute the created virtualmachine, the server further having functions capable of creating,holding and/or operating an inclusive virtual machine including settingof a plurality of virtual machines and/or a fixed agent describingfunctions such as behaviors of each of the virtual machines, and/orincluding even records acquired through each of the virtual machines,and a supervising virtual machine for supervising a plurality ofinclusive virtual machines. In addition, the server can changeinformation of each of the plurality of the monitored/controlled targetdevices and/or monitor and control each target device by operating thevirtual machines, the inclusive virtual machines and the supervisingvirtual machine, and/or it includes a remote station system for causingthe fixed agent to be distributed or to reside, and has monitoringfunctions capable of performing information collection from andmonitoring/control of the monitored/controlled target devices, which areconnected to the outside, using the virtual machines, and capable ofexecuting processing, computations, etc. of the collected information.

The above-mentioned server of the present invention includes a scheduledoperation run managing function and a device linkage control functioncapable of, as an occasion requires, collecting/storing information andcurrent values of the monitored/controlled target devices in accordancewith a schedule registered beforehand, storing records of status changesof designated information, creating trend records of analog values atdesignated cycles, daily reports, monthly reports, etc., and displayingthe current values through the virtual machines and browsing the storeddata via the network.

A preferred embodiment of the present invention will be described belowwith reference to the drawings.

FIG. 1 is a schematic block diagram of hardware of a server, and FIG. 2is a system configuration diagram showing, by way of example, a linkageof the server with a client terminal and a monitored/controlled targetdevice when the server is positioned as a remote control server relativeto a center server.

The server of the present invention includes, as shown in FIG. 1, threeserial ports 1, 2 and 3, an Ethernet (trade name registered by XEROX inU.S.A.) port 4, a microcomputer 5, an external storage 6, a clockcircuit 7, an abnormality monitoring circuit 8, a backup circuit 9, adigital input interface 10, an isolator 11, a control communication port12, a server board 13 on which the above-mentioned components aremounted, a housing 14 in which the above-mentioned components arehoused, a public line communication device 15 such as PHS (PersonalHandy-phone System) or cellular phone modem, a software input switch 16,and a hardware reset switch 17.

The serial port 1 is a port for connection of the public linecommunication device 15. For example, a mobile communication modem canbe attached to the housing 14, and the public line communication device15 can be connected to the outside when the communication standard isswitched over to RS232C. The serial port 2 is a serial port forperforming communication based on one of TR232C and RS422, which aregenerally installed as communication standards and switched over fromone to the other.

The serial port 3 is a serial port dedicated for connection of a consoleunit used for maintenance, input of software, etc.

The Ethernet port 4 serves as an interface of 10 BaseT for communicationwith the outside in accordance with the TCP/IP protocol, for example.

The microcomputer 5 is a central processing unit for executing andcontrolling systems, such as a real-time operating system and a Java runenvironment, and applications. The external storage 6 is constituted as,e.g., a nonvolatile memory, and stores necessary data and programs. Inthe event of power-down, the data in the external storage can beprotected with the backup circuit 9.

The clock circuit 7 operates independently of the microcomputer 5 toprovide time data and to realize an interrupt timer and aconstant-period timer which are necessary for the system's internaloperations.

The digital input interface 10 is used to directly take in informationof the monitored/controlled target devices, etc. The information istaken in through the isolator 11 that provide electrical isolation withrespect to the internal system such as the microcomputer 5.

The control communication port 12 is a port for communication with themonitored/controlled target devices using, e.g., LONWORKS (trade nameregistered by ECHELON in U.S.A.).

The housing 14 serves to protect the server board 12 and has a compactshape so as not to undergo limitations on, e.g., a place where theserver is installed.

Next, FIG. 2 is a system configuration diagram showing, by way ofexample, a linkage of the server with a client terminal 52 and amonitored/controlled target device when the server is positioned as aremote control server relative to a center server 51. The center serverand the client terminal are connected to one or more remote controlservers (two remote control servers 54, 55 in an example of FIG. 2) viaa WAN and/or LAN 53. Each of the remote control servers is connected tothe monitored/controlled target device directly from the controlcommunication network when the monitored/controlled target device hasthe control communication function, and through an input/output unithaving the control communication function when it has not the controlcommunication function.

FIG. 2 shows the example in which the remote control server 54 isdirectly connected to a monitored/controlled target device 56 from acontrol communication network 59, and the remote control server 55 isconnected to a monitored/controlled target device 57 through aninput/output unit 61 from a control communication network 60.

<<Monitored/Controlled Target Device Side>>

The monitored/controlled target device is connected to the controlcommunication network. The connection is realized in the form in which amicrocomputer, serving as a control communication LSI, or a controlcommunication module is installed in the monitored/controlled targetdevice, or in the form in which the monitored/controlled target deviceis connected to an input/output unit including a microcomputer, servingas a control communication LSI, or a control communication moduletherein.

<<Control Communication Module on Monitored/Controlled Target DeviceSide>>

The monitored/controlled target device connected to the controlcommunication network is required to include a microcomputer (e.g., aLON chip made by ECHELON), serving as a control communication LSI, or acontrol communication module therein, and/or it requires to be connectedto an input/output unit in which a microcomputer, serving as a controlcommunication LSI, or a control communication module is installed(hereinafter sometimes referred to simply as an “input/output unit”).

The term “monitored/controlled target device” used in the followingdescription also sometimes means a device that includes a microcomputer(e.g., a LON chip made by ECHELON), serving as a control communicationLSI, or a control communication module therein, and/or a deviceconnected to an input/output unit in which a microcomputer, serving as acontrol communication LSI, or a control communication module isinstalled.

Programs for the microcomputer is described using the C language (neuronC language in the LON chip made by ECHELON) that is communicable withthe Java language (Java: trade mark registered by Sun Microsystems inU.S.A.).

Also, the microcomputer contains a control program with which themicrocomputer can control the monitored/controlled target device, and acontrol communication program having protocols with which themicrocomputer can perform data communication with the server via thecontrol communication network.

The program installed in the microcomputer for communication with thecontrol communication network usually has, device managementinformation, the chip ID of the monitored/controlled target device, theindex number indicating the installation position, etc., the Vm classnumber (virtual machine class number), and the Vm interface class number(virtual machine interface class number). For permitting control fromthe outside, the program also has status information that can be madeopen to the outside, and operational information allowing operation fromthe outside. Hereinafter, the virtual machine is abbreviated to Vm. Thedevice management information, the status information and theoperational information are in the form of network variables that can bereferred to via the WAN and/or the LAN, etc. A Vm class file is softwarefor operating the monitored/controlled target device, and a Vm interfaceclass file is interface software for establishing connection to themonitored/controlled target device in combination with the Vm classfile.

For example, when the monitored/controlled target device is a monitoringcamera, there are machine information such as the chip ID, the Vm classnumber, the maker and the model, control information such as on/offinformation of the camera, brightness of illumination, directioncontrol, zoom control and sound recording, and status informationrepresenting the current control status.

Those network variables differ depending on the type of themonitored/controlled target device and are set on the maker side, whilethe index number indicating the installation position, etc. can be seton the user side.

<<Client Server Program>>

A client server program stored in the external storage of the serverwill now be described below.

To explain briefly, the server of the present invention is connected tothe monitored/controlled target device capable of performingcommunication directly or through input/output unit with respect to thecontrol communication network, and contains a server program having agateway function for connection between the associated controlcommunication network and the control communication network to which theclient machine and the center server can be connected via the WAN and/orthe LAN.

The server program acquires the chip ID and the index number (specificinformation) for identifying the monitored/controlled target device, thestatus information, and the operational information when themonitored/controlled target device is connected to the server from thecontrol communication network directly in the case of the target devicehaving the information communication function or through theinput/output unit connected to the control communication network in thecase of the target device not having the information communicationfunction. Also, the server program has an interface class (interfaceclass software) for providing, to the client machine (hereinaftersometimes referred to simply as a “client”) and the center server(hereinafter sometimes referred to simply as a “center”), a Vm class(monitored/controlled target device operating software) that refers toand operates the status information and the operational information ofthe monitored/controlled target device, and for establishing theconnection to the monitored/controlled target device on the server sidein combination with the Vm class, when the client or the center accessesthe server via the WAN and/or the LAN, etc.

The client server program contains an operating system program (OS) thatcan be processed to control hardware in the server and corresponds tomultitasking and multithreading. This OS is, e.g., ITRON, Vx-WORKS, etc.

The operating system contains various driver programs such as publicline communication drivers for wireless and wired phones, transceivers,etc., a control communication driver, a file system and a clock driver,and an API (Application Programming Interface) for making those driveprograms correspond to application programs.

Also, the operating system contains a remote operating system programdescribed in a distributed object oriented language (e.g., aplatform-free language such as Java).

<<Remote Operating System Program>>

The system program in the server comprises a control program forcontrolling the server itself, an agent server program for transmittingand receiving an agent, a communication program in the form of a browserfor performing network communication in accordance with TCP/IP or PPPusing wireless and wired phones, transceivers, etc., and a serverprogram 100 that fulfills a gateway function of connecting the externalWAN and/or the LAN to the control communication network.

The gateway function differs from a gateway for connecting the so-calledinformation networks in point of seamlessly connecting the informationcommunication network and the control communication network to eachother, and enables an arbitrary terminal computer in an externalnetwork, such as the Internet, to access the server for browsing andoperating the monitored/controlled target device communicated with theserver via the control communication network.

<<Server Program>>

To describe with reference to FIG. 3, the server program 100 comprisesan OP server 110 for managing the Vm class file (hereinafter abbreviatedto a “Vm class”), which is an operating program for providinginformation to an information terminal (client machine or center server)on the client or center side, and an HTTP server 120 for distributingthe Vm class of the monitored/controlled target device on the client orcenter side.

The OP server 110 comprises a Vm management table 130 for themonitored/controlled target device, a Vm class library 140 for themonitored/controlled target device, and a Vm interface class library 150for control communication of the monitored/controlled target device.

The OP server 110 contains a monitored/controlled target devicedetecting program for detecting, from a new monitored/controlled targetdevice connected to the control communication network, the deviceinformation outputted from the target device itself or through ininput/output unit having a communication function built therein, andregistering the detected device information in the Vm management table130 for the monitored/controlled target device.

In the case of a monitoring camera Camera1, for example, themonitored/controlled target device information includes the chip ID, theindex number and the Vm class number, as shown in FIG. 4. Those items ofinformation are used to designate the monitored/controlled target deviceon the control communication network.

The Vm management table 130 collects and records therein not only the Vmclass number of the monitored/controlled target device for remotecontrol of each monitored/controlled target device, but also theinterface number corresponding to the Vm class number of themonitored/controlled target device. With the Vm class number and theinterface class number correlated with each other in the Vm managementtable 130, the Vm class and the interface class of the interface classnumber corresponding to the Vm class can be called in a combined stateby designating the Vm class number.

The Vm class library 140 collects and records therein the Vm classnumbers and Vm classes 141-143 . . . designated by the respective Vmclass numbers.

Each of the Vm classes 141-143 contains, as shown in FIG. 5, fieldvariables corresponding to the network variables of themonitored/-controlled target device, an information referring method 170for reading those field variables, and an information operating method180 for operating ones of the field variables which are allowed tochange or set.

For example, the field variables of the monitoring camera Cameralinclude the machine information such as the chip ID, the Vm classnumber, the maker and the model, the control information such as on/offinformation of the camera, brightness of illumination, directioncontrol, zoom control and sound recording, and the status informationrepresenting the current control status.

In those field variables, varying data in the network variables areupdated at a constant period (e.g., 1000 ms). Of the field variables,the index number indicating the installation position, etc. is settableby the user and is initially set to NULL.

Those field variables in the Vm class can be displayed by being referredto from the monitored/controlled target device with the status referringmethod, and can be set and controlled for the monitored/-controlledtarget device with the status operation method.

Since the Vm class has controlled items and displayed items differentfor each of the monitored/controlled target devices, it is designed anddescribed by a maker manufacturing the monitored/-controlled targetdevice. Alternatively, the Vm class may be designed and described by theclient or the center after hearing the controlled items and thedisplayed items of the monitored/controlled target device from the makermanufacturing it. The Vm class can be called from a memory in themicrocomputer constituting the monitored/controlled target device or theinput/output unit. However, storing the Vm class in the computerrequires an increased memory area. Therefore, the Vm class may bedownloaded from a Vm distribution center provided on the Internetcenter, or may be read from a storage medium (e.g., an IC card, a PCIcard, a magnetic disk or a CDROM) attached to the monitored/-controlledtarget device (or the input/output unit when the target device has nocommunication function).

A storage medium reader for reading a storage medium is required to readthe Vm class from the storage medium. The storage medium reader may bebuilt in or externally attached to the server, or it may be connectedonto the control communication network.

When the storage medium reader is connected onto the controlcommunication network, the Vm class for driving storage medium reader isinstalled in the reader itself. As an alternative, if a personalcomputer or a storage medium reader capable of performing controlcommunication is connected on the control communication network, it isalso possible to employ the connected personal computer or storagemedium reader.

The Vm interface class library 150 collects and records therein Vminterface classes 151-153 . . . for connecting the Vm classes to themonitored/-controlled target device.

The collected Vm interface classes 151-153 . . . are each in pair to theVm class distributed to the client or center side. Upon the client orcenter side designating a certain Vm class number, the Vm classcorresponding to the designated Vm class number is distributed from theserver to the client or center side. Further, on the server side, the Vminterface class file corresponding to the designated Vm class number isstarted up, whereby the Vm class on the client or center side and theinterface class file on the server side are combined with each other.

The Vm interface classes 151-153 . . . have the respective Vm interfaceclass numbers. The Vm interface class numbers are in pair to the Vmclass numbers in a one-to-one relation. Upon the client or center sidedesignating a Vm class number, the Vm interface class numbercorresponding to the designated Vm class number is called and the Vminterface class file having the called Vm interface class number isstarted up. The Vm class file on the client or center side is combinedwith the called Vm interface class file.

Each of the Vm interface classes 151-153 . . . contain protocols forperforming control communication with the monitored/controlled targetdevices (such as Camera 1 and so on) on the control communicationnetwork.

Since the communication protocols are located on the controlcommunication network in this case, control communication protocols areemployed. However, in the case of the communication network usingprotocols in accordance with other standards (e.g., in a communicationnetwork constituted of wireless communication or optical communication,or a communication network constituted by dedicated lines), protocolsused in the relevant communication network are employed.

The arrangement described above makes the system adaptable for a varietyof monitored/controlled target devices and increases versatility.

<<HTTP Server>>

The HTTP server 120 for providing Vm to the client or the center is aWWW server. When the client or the center accesses the server using,e.g., Netscape Navigator provided by Netscape, Internet Explorerprovided by Microsoft, or any other suitable Web browser, the HTTPserver 20 distributes the Vm class to the client or the center inaccordance with the Vm class number designated by the client or thecenter.

<<Client Machine and Center Server>>

The client is any of large-and small-scaled computers, a personalcomputer (PC), a mobile computer, a portable information terminal, acellular phone with a character display function, and other informationdevices capable of utilizing wide area networks, which are located on anetwork.

Each of the client and the center requires a Vm operating program(hereinafter referred to simply as a “Vm application”) described in anobject oriented language for operating the Vm class in the server.

The Vm application must be equipped on the side of the client and thecenter. The Vm application may be downloaded or installed to the side ofthe client and the center via the Internet or from a storage medium suchas a CDROM, a magnetic disk, a magnetic card or an IC card.

Before accessing the server, the URL, the Vm class number and the indexnumber of the server to be operated are substituted into the Vmapplication. Alternatively, the URL, the Vm class number and the indexnumber of the server and the phone number, etc. on the client side maybe fixedly set in the Vm application beforehand. Preparing such a Vmapplication is advantageous in facilitating authentication to be made onthe server side.

In the Vm application, authentication items of an operator himself orherself, such as a password, for accessing the server side are put, andauthentication requirements for allowing access by the operator on theserver side are set beforehand using a desired encryption scheme. Theauthentication requirements may be arranged beforehand between theclient or the center and the server to change in an unfixed formdepending on the date, the lapse of a certain time interval, or theaccess place so that the server is protected against access by afictitious name of an unconcerned person.

When a user on the client or center side starts up the Vm applicationand designates the URL, the Vm number and the index number of the serverincluded in the Vm application, the client or the center accesses theserver with the Web browser and receives the Vm class from the serverside, whereupon the client or the center is connected to the objectivemonitored/controlled target device through the server. The Vm class iscombined with the Vm interface class for connection to themonitored/controlled target devices (such as Cameral and so on) on thecontrol communication network. As a result, a Vm object is produced andthe current information of the monitored/-controlled target device isdisplayed on the client or center side.

When the user on the client or center side instructs the end ofoperation of the monitored/controlled target device to the Vmapplication, the Vm application vanishes the Vm object on the client orcenter side, whereupon the Vm interface class on the server sidedisappears.

<<Step of Registering Monitored/Controlled Target Device>>

A step of registering the monitored/controlled target device on thecontrol communication network in the server will be described below.

When the monitored/controlled target device is connected to the controlcommunication network, the monitored/controlled target device outputsthe chip ID, the index number and the Vm class number of itself onto thecontrol communication network. In the case of the monitored/-controlledtarget device having no communication function therein, the chip ID, theindex number and the Vm class number are outputted onto the controlcommunication network through the input/output unit having acommunication function built therein. Using the monitored/controlledtarget device detecting program, the OP server 110 acquires the chip ID,the index number and the Vm class number of the monitored/controlledtarget device connected to the control communication network, and thenrecords them in the Vm management table 130.

The monitored/controlled target device detecting program in the OPserver searches for the Vm class and the Vm interface classcorresponding to the acquired Vm class number. If the corresponding Vmclass and Vm interface class are not present in the Vm class library 140and the Vm interface class library 150, the OP server acquires thecorresponding Vm class and Vm interface class from the Vm distributioncenter provided on the wide-area network, such as the Internet, or fromthe maker of the monitored/controlled target device. Of course, when theVm class and the Vm interface class are recorded on a storage medium asmentioned above, the OP server acquires the Vm class and the Vminterface class from the storage medium reader.

As a result, the OP server 110 can be accessed from the client or centerside on the WAN and/or the LAN.

<<Operation of Monitored/Controlled Target Device from Client orCenter>>

When the client or the center accesses the OP server 110 and operatesthe monitored/controlled target device connected to the OP server 110,the client or the center starts up an application for making access tothe OP server. Subsequent to the startup of the application, the userinputs, into the application, the URL, the Vm class number and the indexnumber of the OP server 110, as well as the items required for theauthentication proceedings.

After setting those items required for the accessing and the itemsrequired for the authentication, the application makes accesses theserver.

Upon the access made from the client or the center to the server, theserver performs the authentication of the client or the center.

When it is confirmed by the server's authentication that the access fromthe client or the center is allowed, the client or the center can makeaccess to the OP server 110 in the server.

When the client or the center accesses the OP server 110 in the server,the OP server 110 distributes the Vm class designated by the applicationto the client or the center, and the Vm interface class corresponding tothe Vm class distributed to the OP server 110 is started up.

Then, the Vm class distributed to the application in the client or thecenter requests its combination with the Vm interface class in the OPserver 110, whereupon the Vm class in the client and the Vm interfaceclass in the OP server 110 are combined with each other via the WANand/or the LAN. The Vm interface class provides the network variables ofthe monitored/controlled target device on the control communicationnetwork to the Vm class in the client or the center, whereby the networkvariables are referred to and substituted in the field variable of theVm class. As a result, the Vm class and the Vm interface class turn to aVm object and a Vm interface object, respectively, and the currentinformation of the monitored/controlled target device on the controlcommunication network is displayed on the client or center side. Thenetwork variables referred to by the client or center side change at aninterval of a predetermined time, but it is possible to refer to newnetwork variables each time the network variables change because theinformation referring method on the client or center side always refersto the network variables.

When the field variables are operated by the information referringmethod on the client or center side, the operation is reflected on thenetwork variables of the monitored/controlled target device through theVm interface.

When the application is brought into an end on the client or centerside, the Vm object in the client or the center disappears and the Vminterface object in the OP server 110 also disappears.

With this embodiment, as described above, the information of themonitored/controlled target device on the control communication networkcan be called, referred to and operated from the client or center sideon the WAN and/or the LAN.

Further, since the Vm class is distributed from the OP server 110 in theserver to the client or center side by copying, there is no fear thatthe Vm class on the side of the OP server 110 may be tampered. Inaddition, when the control information and the control method arechanged upon, e.g., revision or version-up of a control program of themonitored/controlled target device, the Vm class and the Vm interfaceclass of new version, for example, can be prepared at any time byupdating the Vm class in the OP server 110 from the distribution centeror the storage medium.

In this connection, the OP server 110 may periodically inquire whetherthe Vm classes and the Vm interfaces in the Vm class library 140 and theVm interface class library 150 are updated to the latest version.

Further, with a modification in which the application on the client orcenter side is distributed from the OP server 110, the server is moreflexibly adapted for model change and version-up on the client or centerside, and the center and various clients can access the server so longas the authentication is established.

Additionally, when the monitored/controlled target device isdisconnected from the control communication network, the Vm class in theVm management table 130 becomes non-active. However, when themonitored/controlled target device is connected again to the controlcommunication network, the Vm class of the monitored/controlled targetdevice in the Vm management table 130 becomes active. Thus, theconditions of communication connection among the client or the center,the server and the monitored/controlled target device are establishedmore quickly.

Furthermore, since the Vm class in the client or the center is used tojust refer to the network variables of the monitored/controlled targetdevice, the Vm class disappears as soon as the connection between theclient or the center and the server is cut off. Also, the Vm class isrepresented using byte code. Accordingly, it is difficult to tamper theinterface class and the network variables of the monitored/controlledtarget device.

<<Inclusive Virtual Machine and Supervising Virtual Machine>>

A description is now made of an inclusive virtual machine and asupervising virtual machine, which are used in the case of the systemincluding many monitored/controlled target devices to efficiently shareinformation in common with the respective devices, to quickly andsmoothly perform control, and to enable devices as targets of linkedcontrol to perform more appropriate linked control while mutuallyreferring to information among those devices.

The inclusive virtual machine means a virtual machine having functionsof setting a virtual machine for each monitored/controlled target deviceconnected to the server via the control communication network and afixed agent describing functions such as behaviors of each virtualmachine, and/or including even records acquired through each virtualmachine. The supervising virtual machine supervises a plurality ofinclusive virtual machines.

The following description is made with reference to the drawings.

FIG. 6 shows one example in which two monitored/controlled targetdevices 561, 562 are newly connected, via respective controlcommunication networks 591, 592, to the remote control server 54(hereinafter sometimes referred to simply as the “server 54”) that isconnected to the monitored/controlled target device 56 via the controlcommunication network 59 as shown in FIG. 2.

More specifically, a fixed agent 610 always resides in the server 54,and the fixed agent 610 has a monitoring function 612 and a virtualmachine including function 611. Of these functions, the monitoringfunction 612 contains a status monitoring/recording function 613 ofmonitoring the monitored/controlled target device through each virtualmachine and of obtaining and then recording data, and a schedule/linkedcontrol function 613 of setting behaviors of each virtual machine. Also,the virtual machine including function 611 means a function of creatingan inclusive virtual machine including setting 54 of virtual machines 56a, 561 a, 562 a for the monitored/controlled target devices connected tothe server via the control communication network and of the fixed agentdescribing functions such as behaviors of each of the virtual machines,and including even records 541 acquired through each of the virtualmachines. When creating the inclusive virtual machine, the information,setting and records included therein can be restricted to ones justrequired for the center or the client. This is advantageous in reducingthe traffic amount.

When the center server 51 (hereinafter sometimes referred to simply asthe “center 51”) shares information in common with eachmonitored/controlled target device connected to the server 54 via thecontrol communication network and monitors/controls themonitored/-controlled target device, the center 51 can share theinformation and monitor and control the target device by calling,holding and operating an inclusive virtual machine 54Sc created by thefixed agent 610 in the server 54. Also, when the client terminal 52shares information and operates each monitored/controlled target device,it can likewise realize the sharing and the operation by calling,holding and operating an inclusive virtual machine 54Sd created by theserver 54.

Further, when two monitored/controlled target devices 571, 572 areconnected to the remote control server 55 (hereinafter sometimesreferred to simply as the “server 55”) via control communicationnetworks 601, 602, respectively, as shown in FIG. 7, the center servercan more quickly and smoothly share information in common with eachmonitored/controlled target device connected to each remote controlserver via the control communication network and can monitor and controlthe monitored/controlled target device by using a supervising virtualmachine.

More specifically, in an example of FIG. 7, a remote control server 90(hereinafter sometimes referred to simply as a “server 90”) is connectedto the server 55 via a control communication network 62, while theservers 54 and 55 are connected to each other via a controlcommunication network 58. Further, a fixed agent 620 having the samefunctions as those of the fixed agent 610 in the server 54 alwaysresides in the server 55. In addition, the server 90 has an inclusivevirtual machine supervising function 901 for creating a supervisingvirtual machine to supervise inclusive virtual machines, each of whichhas been created by another server and has been called by and held inthe server 90.

The server 90 calls and holds the inclusive virtual machines 54Se, 55Secreated respectively by the servers 54, 55, and creates a supervisingvirtual machine 90Tc with the inclusive virtual machine supervisingfunction 901. The supervising virtual machine 90Tc always sharesinformation in common with the inclusive virtual machines 54Se, 55Se,which have been created by the servers 54, 55 and have been called byand held in the server 90. Also, the inclusive virtual machine 54Sealways shares information in common with the virtual machines 56 a, 561a, 562 a held in the server 54, and the inclusive virtual machine 55Sealways shares information in common with the virtual machines 57 a, 571a, 572 a held in the server 55. Further, the virtual machines 56 a, 561a, 562 a, 57 a, 571 a and 572 a always share information in common withthe respective monitored/controlled target devices. Therefore, since thesupervising virtual machine 90Tc eventually always shares information incommon with the monitored/controlled target devices connected to theservers 54, 55 via the control communication networks, the center 51 canefficiently share information in common with the respectivemonitored/controlled target devices connected to the servers 54, 55 viathe control communication networks, and can quickly and smoothly performcontrol the respective monitored/controlled target devices by calling,holding and operating the supervising virtual machine 90Tc created bythe server 90. Incidentally, when creating the supervising virtualmachine, the information, setting and records included therein can alsobe restricted to ones just required for the center or the client. Thisis similarly advantageous in reducing the traffic amount.

FIG. 8 shows a state in which the server 90 calls and holds theinclusive virtual machines 54Se, 55Se having been created respectivelyby the servers 54, 55, and FIG. 9 shows details of the supervisingvirtual machine 90Tc that is called by and held in the server 51 afterbeing created by the server 90.

When the client terminal 52 in FIG. 7 shares information in common withthe respective monitored/controlled target devices connected to theservers 54, 55 via the control communication networks andmonitors/controls the target devices, the client terminal can likewiseperform the sharing and the monitoring/control by calling, holding andoperating a supervising virtual machine 90Td.

Thus, by utilizing the inclusive virtual machine and the supervisingvirtual machine, the center can efficiently share information andoperate the monitored/controlled target device with no needs of sharinginformation in common with the individual monitored/controlled targetdevices and calling, holding and operating the virtual machines for theindividual monitored/controlled target devices to be subjected tomonitoring/control.

Incidentally, a step of registering the inclusive virtual machine andthe supervising virtual machine is substantially the same as the step ofregistering the monitored/controlled target device.

As described above, it is possible to call, hold and/or operate avirtual machine, which is a software object described as the other selfof each monitored/controlled target device having the same informationas that possessed by the monitored/controlled target device and containsa plurality of communication protocols used for communication with themonitored/controlled target device and concealed in the software object,and/or an inclusive virtual machine including setting of a plurality ofvirtual machines for the monitored/controlled target devices and of afixed agent describing functions such as behaviors of each of thevirtual machines, and/or including even records acquired through each ofthe virtual machines, and a supervising virtual machine for supervisinga plurality of inclusive virtual machines, and/or possible to distributethe virtual machines, the inclusive virtual machines and the supervisingvirtual machine. Further, it is possible to share the same informationas that possessed by the monitored/controlled target device, and tochange information of each monitored/controlled target device and/or tomonitor and control the target device by operating the correspondingvirtual machine.

<<Applications>>

Applications to the following fields are conceivable.

-   -   a. Remote monitoring, remote control and maintenance of various        devices and apparatuses for the electrical industry.    -   b. Remote monitoring, remote control and maintenance of various        industrial devices and apparatuses.    -   c. Remote monitoring, control and maintenance of various        devices, apparatuses and facilities for agriculture and        fisheries.    -   d. Remote equipment monitoring for buildings, dormitories,        apartments, etc., and automatic inspection of meters for        individual rooms.    -   e. Remote monitoring and remote maintenance of building        equipment such as regenerative air conditioners. Optimum        regenerative control through, e.g., distribution of operation        schedules.    -   f. Remote control and maintenance of remote education devices.    -   g. Data collection, providing and processing services.    -   h. Monitoring system for crime and fire prevention.    -   i. Environment measurement and measured data automatic        collecting system.    -   j. Energy-saving diagnosis data collecting system.

The following operative advantages are obtained.

-   -   (1) Because the server employs the real-time OS that is adopted        in space ships as well, high reliability is ensured. Also,        because the server is an application server, the stable        operation is ensured even with startup of various user        applications.

Further, a development environment with a shorter lead time using Javacan be provided, and efficient system construction can be achieved.

-   -   (2) Due to very high resistance against weather and        environments, stable 24-hour operation is realized.    -   (3) The WAN and/or LAN can be advantageously utilized. Also,        wide-range support is realized with the control communication        function.

Communication charge can be reduced by utilizing the Internet network,and the control communication network, such as the PHS and cellularphones, can be used in areas where wired lines are not installed. Thesystem can be hence constructed in a wider area than conventionalsystems.

-   -   (4) When the virtual machine is operated on any computer        connected to the network, it always shares the same information        as that possessed by the actual virtual machine, management of a        device in a remote place can be realized by operating and        managing the virtual machine on hand.

Also, because the virtual machine can be utilized as a software part indevelopment of software, an advanced monitoring/control system can beconstructed without knowledge regarding data communications andmeasurement control.

Further, because change of the system, setting of various parameters,etc. can be performed via the network, the frequency of replacement ofdevices and the frequency at which engineers must actually go to sitesare reduced. The maintenance cost is hence cut down.

-   -   (5) The communication charge can be reduced by utilizing the        transceiver mode.    -   (6) Because the remote control server autonomously perform        control, an influence upon the site is small even when the        center goes down. Also, because a notice is sent only in the        event of abnormality and information is communicated just when        an occasion requires, the communication charge is cut down.    -   (7) Even when there are a plurality of monitored/controlled        target devices and makers of those target devices differ from        each other, the status information and the control information        for each target device can be viewed, operated and managed with        the corresponding virtual machine displayed on the client        terminal at hand or the center server.

Details of the present invention will be described in connection withexamples. It is to be noted that the present invention is in no waylimited by the following examples.

EXAMPLES

<<Outline of the Invention>>

A remote control server of the present invention has a data serverfunction of integrating monitored/controlled target devices on a controlcommunication network and providing monitoring/control data, etc. to aninformation system, and various application server functions capable ofexecuting processes for fields on demand in response to a request fromthe information system.

Also, the remote control server of the present invention serves also asan application server, and therefore stability and reliability ofsoftware are ensured, for example, in point of that the stable operationis ensured even with startup of various user applications.

Further, the remote control server of the present invention hasresistance against environments enough to operate 24 hours under such asevere environment as outdoor, and has a small size suitably adapted fora site space.

Next, features of the remote control server in terms of hardware will bedescribed.

The remote control server of the present invention includes a publicline communication device (e.g., a communication device such as a wiredor wireless phone) as standard, and it can also be provided with anexternal communication device (such as a modem) giving a serialcommunication function when a communication standard is switched over toRS232C.

Also, the remote control server of the present invention has an Ethernetport for communication with a system connected to another medium, suchas a client computer, and includes, e.g., LONWORKS provided by ECHELONfor communication with the monitored/controlled target device and theinput/output unit. In addition, the remote control server has a serialcommunication port (capable of switching between RS232C and RS422) forcommunication with a device having a serial communication interface.Thus, the remote control server includes various connection devicesenabling both information and control communications to be performed.

The remote control server of the present invention has a digital input(DI; one point) capable of directly collecting data from themonitored/controlled target device, and also has a RS232C port as aconnection interface dedicated for a maintenance control.

The remote control server of the present invention can supply electricpower from a control communication port to the monitored/-controlledtarget device and the input/output unit. In addition, the remote controlserver has the function capable of protecting data in a memory area inthe event of power-down and recording the date and time of thepower-down, and includes a software input switch, a hardware resetswitch, etc., which provide respective timing inputs for startingsoftware installation and maintenance to an external storage.

Next, features of the remote control server from the viewpoint ofsoftware function will be described.

The remote control server of the present invention includes a real-timeOS (such as ITRON or Vx-WORKS), and performs management of themonitored/controlled target device on the control communication network.Also, it has a client server function of linking the controlcommunication network and the information communication network witheach other, an agent server function capable of installing a stationaryagent, etc., and an HTTP server function capable of transmitting andreceiving information in the form of an HTML file through the WWWsystem. Further, the remote control server includes, as standard, anenvironment operating under the Java run environment, and realizesinstallation of the Java run environment with a small-capacity resource.

Moreover, the remote control server has a PPT (Point to Point Protocol)connection function necessary for connection to the public line networksuch as the PHS and the modem, and has the function capable ofperforming data exchange using wireless phones, e.g., the PHS, viapublic lines and the function being effective to construct a system in aplace where laying-down of cables is infeasible and to realizeconnection to a mobile medium. Further, by connecting a router to theEthernet, data exchange with an external system can be made, andbi-directional call from the remote control server to a personalcomputer (client mode) and from the personal computer to the server canbe realized. Since the PPP connection can be controlled from Javaapplications, it is possible to issue, e.g., an emergency call for analarm notice.

The remote control server has the FTP function and the TELNET functionfor transfer of files and data to and from a client terminal, a centerserver and/or an external system. Also, the remote control server has anenvironment for executing and managing Java applications under a networkenvironment, and is able to process digital inputs with the Javaapplications.

In addition, the remote control server can record log messages in anonvolatile memory located in the server with a system log managementfunction, and has a mail transmitting function capable of communicatingwith a system managing person, a device managing person, etc. bytransmitting, as electronic mails, an alarm message, etc.

As a monitoring function, a remote station system makes a fixed agentreside on the server, and performs information collection from andmonitoring/control of the monitored/controlled target devices. Also, theserver can process and compute the collected information. By including,for example, a billing algorithm beforehand, the usage charge of themonitored/controlled target device can be calculated based on the numberof times of usages, the power supply time, the amount of electricityused, etc. of the target device.

Those functions are described below in detail. First, the remote controlserver can collect and store information of the variousmonitored/controlled target devices in accordance with a registeredschedule. The agent collects information directly from themonitored/controlled target devices or through input/output units.Further, the server stores records of status changes at a designatedpoint, stores analog values (trend records) at designated cycles, andcreates daily reports, monthly reports, etc.

The server can notify information and current values of themonitored/controlled target devices in response to requests from theclient and the center, can display the current values through thevirtual machines, and can browse the stored data via the network. Bytransferring files and data to another server, etc. in an externalsystem using the FTP function, it is possible even for the externalsystem side to accumulate the data and to perform management, storage, abilling process, etc. on the accumulated data by batch operations.Further, it is possible to execute a close and statistical data analysisfor a long period.

When an abnormality occurs in the various monitored/controlled targetdevices, the server can inform the occurrence of an abnormality to apreset monitoring place. For example, when an analog value reaches anabnormal level in the event of a device abnormality or beyond upper andlower limit setting values, an alarm can be transmitted in the form ofan E-mail.

Further, the server can perform operation control in accordance withsetting details preset for each of the monitored/controlled targetdevices by utilizing, as a trigger, a factor such as a device status(on/off), an information change, and timer setting time.

The scheduled operation function is a function of performing automaticstart/stop control (device on/off) in accordance with a time scheduleset for each of various equipment and devices. A “schedule pattern” hasa schedule in units of week and enables the operation time to be set foreach day of the week. The start/stop time can be set in units of minutefrom 0 hour to 24 hours for each day to designate the time zone(indicated by the time of day) during which the operation is to beperformed. The number of times of on/off switching per day can beregistered based on the setting of the on/off time.

The device linkage operation can be performed by, depending on theoperational status of a linked device (linkage source), making on/offcontrol of a target device (linkage destination) in accordance withinformation defined in setting for registration of the linked devices.

An on/off condition and an AND/OR condition can be set as conditions forthe linkage source, and an on/off condition can be set as conditions forthe linkage destination.

Further, since the fixed agent has the virtual machine includingfunction, it is possible to set a plurality of virtual machines for themonitored/controlled target devices and a fixed agent describingfunctions such as behaviors of each of the virtual machines, and/or tocreate, hold, operate and/or distribute an inclusive virtual machineincluding even records acquired through each of the virtual machines.

Moreover, when the fixed agent has the inclusive virtual machinesupervising function, it is possible to call, hold and/or operate asupervising virtual machine for supervising a plurality of inclusivevirtual machines, and/or to distribute the supervising virtual machine.

By using the inclusive virtual machines and the supervising virtualmachine, it is possible to quickly and smoothly share and controlinformation, and to efficiently perform linked control among a varietyof devices, when the number of devices to be controlled is increased toa large extent and the devices are monitored/controlled among manyoffices.

The remote control server of the present invention has the followingfeatures.

-   -   (1) The remote control server employs Vx-WORKS as the real-time        OS. Also, the server includes, as standard software, a Java run        environment with a small-capacity resource.    -   (2) Due to very high resistance against weather and        environments, 24-hour operation is realized.    -   (3) The remote control server includes, as standard, the public        line communication function such as the PHS and cellular phones.        It also includes, as an extension port, an Ethernet port for        communication with an external system. Further, it employs        LONWORKS for control communication. As other communication        ports, it includes a 2-port serial line and a digital input        interface for monitoring external devices.    -   (4) The remote control server has the function of creating,        holding and distributing a virtual machine (pure software object        with Java) that always holds the same information as that        possessed by an actual device/apparatus located at a remote        position.    -   (5) When there are a large number of monitored/controlled target        devices and the number of devices to be monitored/controlled is        increased to a large extent, the remote control server has the        function of creating, holding and/or operating an inclusive        virtual machine including setting of a plurality of virtual        machines and a fixed agent describing functions such as        behaviors of each of the monitored/controlled target devices,        and including even records acquired through each of the virtual        machines, and a supervising virtual machine for supervising a        plurality of inclusive virtual machines. By browsing and        operating the information of the inclusive virtual machines and        the supervising virtual machine, it is possible to quickly and        smoothly monitor and control many monitored/-controlled target        devices, and to efficiently perform linked control in a variety        of forms.    -   (6) The client and the center can access the remote control        server via the WAN and/or LAN and can always share information        in common with the virtual machines for the monitored/controlled        target devices so as to display the monitored/controlled data        and input control commands to the virtual machines held in the        client and the center. Hence, the client and the center are        given with the function capable of controlling the        monitored/controlled target devices from them.    -   (7) A client computer installed in a monitoring/control center,        a data collection center, or the like is given with the function        capable of distributing an agent via the network and causing the        agent to access the virtual machine, which always shares        information in common with the monitored/controlled target        device to be controlled, and to operate the virtual machine,        thereby controlling the monitored/controlled target device.    -   (8) The remote control server can directly receive and hold        commands and agents distributed from the client and the center        via the network. By deciding a key remote control server and a        distribution route in advance, the function of cyclical        distribution can be realized with the use of PHS lines or the        PHS transceiver mode.    -   (9) By making the fixed agent always reside, the remote control        server can collect and store data in accordance with a        registered schedule, can execute data processing such as a        billing process, and can store the processed data. Also, the        server can distribute data to the client and the center in        response to a request from an external communication device, and        can autonomously inform abnormal data if it occurs. Thus, the        individual remote control servers have functions of performing        monitoring/control in an autonomous and decentralized manner,        and executing collection, processing and distribution of data.    -   (10) The remote control server can receive an agent transmitted        from the client terminal or the center server and including an        algorithm to change behaviors of the monitored/controlled target        device, hold the agent in an external storage, and operate the        agent for changing the behaviors of the monitored/controlled        target device. It is also possible to change the behaviors of        the monitored/controlled target device by operating the virtual        machine, the inclusive virtual machine and the supervising        virtual machine, which are held in the remote control server,        and then changing control information such as setting values.

The center server according to the present invention has the followingfeatures.

-   -   (1) The center server has the function of creating, holding and        distributing a virtual machine (pure software object with Java)        that always holds the same information as that possessed by an        actual device/apparatus located at a remote position.    -   (2) The center server has the function of creating, holding,        operating and/or distributing an inclusive virtual machine        including setting of a plurality of virtual machines and a fixed        agent describing functions such as behaviors of each of the        monitored/controlled target devices, and including even records        acquired through each of the virtual machines, and a supervising        virtual machine for supervising a plurality of inclusive virtual        machines.    -   (3) The center server has the function of always sharing        information, via the WAN and/or LAN, in common with the virtual        machines for the monitored/controlled target devices, the        inclusive virtual machines, and the supervising virtual machine,        which are held in the remote control server, so as to display        the monitored/controlled data, and of controlling the        monitored/controlled target devices by inputting control        commands to the virtual machines held in the center server.    -   (4) The center server installed in a monitoring/control center,        a data collection center, or the like can distribute an agent        via the network, access the virtual machine that always shares        information in common with the monitored/controlled target        device to be controlled, and operate the virtual machine,        thereby controlling the monitored/controlled target device.    -   (5) Commands and agents distributed from the center server can        be directly transmitted to the remote control server via the        network. By deciding a key remote control server and a        distribution route in advance, the function of cyclical        distribution can be realized with the use of PHS lines or the        PHS transceiver mode.    -   (6) The records not only collected through the virtual machines        and stored in, but also processed and stored in the fixed agent        held on the remote control server can be transmitted to the        center server in response to commands from the center server.        The center server can store and process (including billing        process) the transmitted records.    -   (7) The center server can transmit an agent including an        algorithm for the monitored/controlled target device to the        remote control server, and the remote control server can receive        and hold the transmitted agent in an external storage, and then        operate the agent for changing the behaviors of the        monitored/controlled target device. It is also possible to        change the behaviors of the monitored/controlled target device        in the site, without actually going to the site, by operating        the settings included in the virtual machine, the inclusive        virtual machine or the supervising virtual machine to specify        the behaviors of the target device.    -   (8) The billing and charging process for each of the        monitored/-controlled target devices can be more quickly and        easily performed by transmitting a command from the center        server to the remote control server, causing the records held in        the remote control server to be sent to the center server, and        receiving, holding and converting the received records into        billing information in the center server.    -   (9) In a system in which the center server is connected via the        WAN and/or LAN to one or more remote control servers, each of        which is connected to one or more monitored/controlled target        devices via respective control communication networks, it is        possible to perform system management such as time        synchronization, agent management, service application        management, and collected data management.        <<Description of Example with Reference to Drawings>>

An example of the present invention will be described below withreference to FIG. 10. FIG. 10 shows a system example in which a clientterminal and a center server are connected via a WAN and/or LAN to oneor more servers, which are positioned as remote control serversconnected to the monitored/controlled target devices through controlcommunication ports (two remote control servers in the example of FIG.10), and the monitored/controlled target devices aremonitored/controlled by the center server or the client terminal.

More specifically, a center server 51 and a client terminal 52 areconnected to remote control servers 54, 55 via a WAN and/or LAN 53. Theremote control server 54 is connected to a monitored/controlled targetdevice 56 having a control communication function via a controlcommunication network 59. Since a monitored/controlled target device 57has not the control communication function, the remote control server 55is connected to the monitored/controlled target device 57 from a controlcommunication network 60 through an input/output unit 61 having thecontrol communication function. Further, the remote control servers 54,55 are connected via an information communication network 58 (Ethernetin this example).

In this example, the control communication between themonitored/controlled target device and the remote control server isperformed using LONWORKS (trade name registered by ECHELON in U.S.A.).

The remote control server 54 collects the latest data from themonitored/controlled target device 56 connected to the controlcommunication network 59, and holds a virtual machine 56 a for themonitored/controlled target device 56. Likewise, the remote controlserver 55 collects the latest data from the monitored/controlled targetdevice 57 through the input/output unit 61 connected to the controlcommunication network 60, and holds a virtual machine 57 a for themonitored/controlled target device 57.

On the other hand, the center server 51 holds in itself a virtualmachine 56 c that always shares information via the WAN and/or LAN 53 incommon with the virtual machine 56 a for the monitored/controlled targetdevice 56, which is held in the remote control server 54. The centerserver 51 also holds in itself a virtual machine 57 c that always sharesinformation via the WAN and/or LAN 53 in common with the virtual machine57 a for the monitored/controlled target device 57, which is held in theremote control server 55.

Similarly, the client terminal 52 holds in itself virtual machines 56 d,57 d that always share information in common with the virtual machines56 a, 57 a for the monitored/controlled target devices 56, 57.

Further, the remote control server 55 holds the virtual machine 56 bthat always shares information in common with the virtual machine 56 afor the monitored/controlled target device 56 connected to the remotecontrol server 54. The remote control server 55 holds the virtualmachine 57 b that always shares information in common with the virtualmachine 57 a for the monitored/controlled target device 57 connected tothe remote control server 55 through the input/output unit 61.

Because the virtual machines held in the center server 51 and the clientterminal 52 always share information in common with the virtual machineheld in the remote control servers 54, 55, the center server 51 and theclient terminal 52 always share information in common with themonitored/controlled target devices 56, 57 and hence can display thecurrent information of the monitored/controlled target devices 56, 57.

When controlling the monitored/controlled target device 56 from thecenter server 51, control information of the virtual machine 56 a forthe monitored/controlled target device 56, which is held in the remotecontrol server 54, is written by operating the virtual machine 56 c thatalways shares information in common with the monitored/controlled targetdevice 56 held in the center server 51. Also, since the remote controlserver 54 always shares information in common with themonitored/controlled target device 56, the monitored/controlled targetdevice 56 is also controlled. The controlled result is sent back to thecenter server 51 in a flow reversal to that described above.

Control of the monitored/controlled target device 56 connected to theremote control server 54 via the control communication network 59 isalso performed from the client terminal 52 in a similar manner.

Next, a description is made of the case of performing linked controlbetween the monitored/controlled target devices 56 and 57 which areconnected respectively to the remote control servers 54, 55 via thecontrol communication networks 59, 60.

In this case, the remote control server 55 includes a fixed agent, whichalways resides therein and is inputted in advance so as to control themonitored/controlled target device 56 if there is an abnormality in themonitored/controlled target device 57.

When the remote control server 55 detects, e.g., an abnormality of themonitored/controlled target device 57 and controls themonitored/controlled target device 56 as a linked target device,abnormal information of the monitored/controlled target device 57 isfirst detected by the remote control server 55 via the controlcommunication network 60 through the input/output unit 61, whereupon theinformation of the virtual machine 57 a for the monitored/controlledtarget device 57 is changed.

Upon a change in information of the virtual machine 57 a for themonitored/controlled target device 57, the fixed agent held in theremote control server 55 is started up and operates the virtual machine56 b, which always shares information in common with the virtual machine56 a for the monitored/controlled target device 56 held in the remotecontrol server 54, for the purpose of operating the monitored/controlledtarget device 56 set as a linkage destination in advance. Upon a changein information of the virtual machine 56 b held in the remote controlserver 55, the information of the virtual machine 56 a is changedbecause the virtual machine 56 a held in the remote control server 54always shares information in common with the virtual machine 56 b.Correspondingly, the monitored/controlled target device 56 is controlledbecause the virtual machine 56 a always shares information in commonwith the monitored/controlled target device 56.

On the other hand, since the virtual machines 56 c, 57 c held in thecenter server 51 and the virtual machines 56 d, 57 d held in the clientterminal 52 always respectively share information in common with thevirtual machines 56 a, 57 a for the monitored/controlled target devices56, 57 held in the remote control servers 54, 55, the result of thelinked control is also reflected on the center server 51 and the clientterminal 52.

Looking at a series of the above-mentioned operational flow from theoutside, it appears that, just by operating the virtual machines held inthe center server 51 and the client terminal 52, the virtual machinesare each moved through the WAN and/or LAN 53 with network transparencyand control the monitored/controlled target devices.

As a more practical application example, the case of performing abilling process for each of the monitored/controlled target devices willbe described below with reference to FIG. 10.

The remote control server 54 obtains various data of themonitored/controlled target device 56, such as the number of times ofusages, the power supply time, the amount of electricity used, statusinformation, and operating information, through the virtual machine 56 afor the monitored/controlled target device 56, and stores the data in anexternal storage associated with the remote control server 54. Likewise,the remote control server 55 obtains various data of themonitored/-controlled target device 57 through the virtual machine 57 afor the monitored/controlled target device 57, and stores the data in anexternal storage associated with the remote control server 55.

In response to a command from the center server 51, and/or when fixedagents always residing in the remote control servers 54, 55 are eachoperated at the preset timing (e.g., a.m. 0:00 per day), the remotecontrol servers 54, 55 transmit, to the center server 51, the variousdata of the monitored/controlled target devices 56, 57 stored in therespective external storages associated with the remote control servers54, 55. Upon receiving the various data transmitted from the remotecontrol servers 54, 55, a processing unit in the center server 51converts the received data into data for billing for each of themonitored/controlled target devices and stores the converted data in astorage in the center server 51. Then, based on preset parameters (suchas the number of times of usages and the amount of electricity used) andalgorithm, the processing unit in the center server 51 calculates theusage charge for each of the monitored/controlled target devices, storesthe calculated charge in the storage in the center server 51, andactuates a linkage to perform a paying process such as debiting onaccount opened in a financial institution.

When an agent containing an algorithm to execute the billing process isinstalled to always reside in each of the remote control servers 54, 55,the remote control servers 54, 55 execute the billing process based onthe data of the monitored/controlled target devices 56, 57, which arestored in the respective external storages, and store the resultedcharges in the respective external storages. Then, in response to acommand transmitted from the center server 51 to the remote controlservers 54, 55, and/or when fixed agents always residing in the remotecontrol servers 54, 55 are each operated at the preset timing (e.g.,a.m. 0:00 per day), the billing information held in the remote controlservers 54, 55 is transmitted to the center server 51. The center server51 receives the transmitted billing information, stores the receivedinformation in its storage, and actuates a linkage to perform a payingprocess such as debiting on account opened in a financial institution.As a result, the load imposed on the center server can be reduced.

Finally, a method of quickly and efficiently performing monitoring andcontrol by utilizing an inclusive virtual machine in the case, in whichthe number of target devices capable of being monitored/controlled byone remote is, e.g., hundred and tens and the total number of actuallymonitored/controlled target devices amounts to the order from severalhundreds to several thousands, will be described below with reference toFIG. 11. As with the example of FIG. 10, this example also employsLONWORKS as a control communication network for connecting the remotecontrol server and the monitored/controlled target device to each other.

More specifically, a center server 51 and a client terminal 52 areconnected to remote control servers 54, 55, 65 via a WAN and/or LAN 53.The remote control server 54 is connected to a monitored/controlledtarget device 56 having a control communication function via a controlcommunication network 59, to a monitored/controlled target device 561via a control communication network 591, and to a monitored/controlledtarget device 562 via a control communication network 592. Since amonitored/controlled target device 57 has not the control communicationfunction, the remote control server 55 is connected to themonitored/-controlled target device 57 from a control communicationnetwork 60 through an input/output unit 61 having the controlcommunication function. Further, the remote control server 55 isconnected to a monitored/controlled target device 571 via a controlcommunication network 601 and to a monitored/controlled target device572 via a control communication network 602.

In addition, since a monitored/controlled target device 650 has not thecontrol communication function, the remote control server 65 isconnected to the monitored/controlled target device 650 from a controlcommunication network 640 through an input/output unit 64 having thecontrol communication function. Moreover, the remote control server 65is connected to a monitored/controlled target device 651 via a controlcommunication network 605 and to a monitored/controlled target device652 via a control communication network 606.

The remote control server 54 creates and holds the virtual machine 56 afor the monitored/controlled target device 56 on the controlcommunication network 59, collects the latest data through the virtualmachine 56 a, and shares information in common with themonitored/-controlled target device 56. Also, the remote control server54 creates and holds the virtual machine 561 a for themonitored/controlled target device 561 on the control communicationnetwork 591, collects the latest data through the virtual machine 56 a,and shares information in common with the monitored/controlled targetdevice 561. Likewise, the remote control server 54 creates and holds thevirtual machine 562 a for the monitored/controlled target device 562 onthe control communication network 592, collects the latest data throughthe virtual machine 562 a, and shares information in common with themonitored/controlled target device 562.

The remote control server 55 similarly collects the latest data throughthe virtual machines 57 a, 571 a and 572 a for the monitored/-controlledtarget devices 57, 571 and 572 connected to the remote control server 55via the control communication networks 60, 601 and 602, respectively,and shares information in common with the monitored/-controlled targetdevices 57, 571 and 572.

Further, the remote control server 65 similarly collects the latest datathrough the virtual machines 650 a, 651 a and 652 a for themonitored/controlled target devices 650, 651 and 652, respectively, andshares information in common with the monitored/controlled targetdevices 650, 651 and 652.

On the other hand, the fixed agent 610 having both a monitoringfunction, including a status monitoring/recording function and aschedule/linked control function, and a virtual machine includingfunction always resides in the remote control server 54. Likewise, thefixed agent 620 having the same functions as those of the fixed agent610 in the remote control server 54 always resides in the remote controlserver 55. Also likewise, the fixed agent 630 having the same functionsas those of the fixed agent 610 always residing in the remote controlserver 54 always resides in the remote control server 65.

Based on the virtual machine including function of the fixed agent 610,the remote control server 54 can create, hold, operate and distribute aninclusive virtual machine including setting of the virtual machines 56a, 561 a and 562 a for the monitored/controlled target devices 56, 561and 562 connected to the remote control server 54 via the respectivecontrol communication networks and setting of the schedule/linkedcontrol function contained in the fixed agent 610 and describing thefunctions, such as behaviors, of those virtual machines, and includingeven records acquired through the virtual machines with the statusmonitoring/recording function contained in the fixed agent 610.

Also, based on the virtual machine including function of the fixed agent620, the remote control server 55 can create, hold, operate anddistribute an inclusive virtual machine including the setting of thevirtual machines 57 a, 571 a and 572 a for the monitored/controlledtarget devices 57, 571 and 572 connected to the remote control server 55via the respective control communication networks and setting of theschedule/linked control function contained in the fixed agent 620 anddescribing the functions, such as behaviors, of those virtual machines,and including even records acquired through the virtual machines withthe status monitoring/-recording function contained in the fixed agent610.

Further, based on the virtual machine including function of the fixedagent 630, the remote control server 65 can create, hold, operate anddistribute an inclusive virtual machine including setting of the virtualmachines 650 a, 651 a and 652 a for the monitored/controlled targetdevices 56, 561 and 562 connected to the remote control server 65 viathe respective control communication networks and setting of theschedule/linked control function contained in the fixed agent 630 anddescribing the functions, such as behaviors, of those virtual machines,and including even records acquired through the virtual machines withthe status monitoring/recording function contained in the fixed agent630.

In the above-described arrangement, the center server 51 having acollected data management function 511, an agent management function512, a service information management function 513, a system managementfunction 514, and a man-machine monitoring function 515 calls and holdsan inclusive virtual machine 54Sc created by the fixed agent 610 in theremote control server 54. Likewise, the center server 51 calls and holdsan inclusive virtual machine 55Sc created by the fixed agent 620 in theremote control server 55, and an inclusive virtual machine 65Sc createdby the fixed agent 630 in the remote control server 65.

At this time, the inclusive virtual machine 54Sc held in the centerserver 51 always shares information in common with the virtual machines56 a, 561 a and 562 a in the remote control server 54, which are createdby the fixed agent 610 in the remote control server 54 for themonitored/-controlled target devices 56, 561 and 562 connected to theremote control server 54 via the control communication networks 59, 591and 592, respectively.

Similarly, the inclusive virtual machine 55Sc held in the center server51 always shares information in common with the virtual machines 57 a,571 a and 572 a in the remote control server 55, which are created bythe fixed agent 620 in the remote control server 55 for themonitored/-controlled target devices 57, 571 and 572 connected to theremote control server 55 via the control communication networks 60, 601and 602, respectively.

Furthermore, the inclusive virtual machine 65Sc held in the centerserver 51 always shares information in common with the virtual machines650 a, 651 a and 652 a in the remote control server 65, which arecreated by the fixed agent 630 in the remote control server 65 for themonitored/-controlled target devices 650, 651 and 652 connected to theremote control server 65 via the control communication networks 604, 605and 606, respectively.

The client terminal 52 also includes respective virtual machines insimilar arrangement, and therefore a detailed description thereof isomitted here.

In addition, the remote control server 54 calls and holds an inclusivevirtual machine 55Sb created by the fixed agent 620 in the remotecontrol server 55, and an inclusive virtual machine 65Sb created by thefixed agent 630 in the remote control server 65.

Similarly, the remote control server 55 calls and holds an inclusivevirtual machine 54Sb created by the fixed agent 610 in the remotecontrol server 54, and an inclusive virtual machine 65Sm created by thefixed agent 630 in the remote control server 65. Moreover, the remotecontrol server 65 calls and holds an inclusive virtual machine 54Smcreated by the fixed agent 610 in the remote control server 54, and aninclusive virtual machine 55Sm created by the fixed agent 620 in theremote control server 55.

In the above arrangement, the inclusive virtual machine 55Sb held in theremote control server 54 and created by the fixed agent 620 in theremote control server 55 always shares information in common with thevirtual machines 57 a, 571 a and 572 a, which are held in the remotecontrol server 55 for the monitored/controlled target devices 57, 571and 572 connected to the remote control server 55 via the controlcommunication networks 60, 601 and 602, respectively. Likewise, theinclusive virtual machine 65Sb held in the remote control server 54 andcreated by the fixed agent 630 in the remote control server 65 alwaysshares information in common with the virtual machines 650 a, 651 a and652 a, which are held in the remote control server 65 for themonitored/-controlled target devices 650, 651 and 652 connected to theremote control server 65 via the control communication networks 604, 605and 606, respectively.

Similarly, the inclusive virtual machine 54Sb held in the remote controlserver 55 always shares information in common with the virtual machines56 a, 561 a and 562 a for the monitored/controlled target devices 56,561 and 562 connected to the remote control server 54 via the controlcommunication networks 59, 591 and 592, respectively, and the inclusivevirtual machine 65Sm held in the remote control server 55 always sharesinformation in common with the virtual machines 650 a, 651 a and 652 afor the monitored/controlled target devices 650, 651 and 652 connectedto the remote control server 65 via the control communication networks604, 605 and 606, respectively. In addition, the inclusive virtualmachine 54Sm held in the remote control server 65 always sharesinformation in common with the virtual machines 56 a, 561 a and 562 afor the monitored/controlled target devices 56, 561 and 562 connected tothe remote control server 54 via the control communication networks 59,591 and 592, respectively, and the inclusive virtual machine 55Sm heldin the remote control server 65 always shares information in common withthe virtual machines 57 a, 571 a and 572 a for the monitored/controlledtarget devices 60, 601 and 602 connected to the remote control server 55via the control communication networks 60, 601 and 602, respectively.

Thus, the remote control servers 54, 55 and 65 connected to the centerserver 51 via the WAN and/or LAN 53 share information in common byutilizing the inclusive virtual machines that can be created, held,called and distributed by the remote control servers.

In the case of controlling the monitored/controlled target device 56from the center server 51, by operating the inclusive virtual machine54Sc held in the center server 51 and sharing information in common withthe monitored/controlled target device 56, the information is rewrittenbecause the inclusive virtual machine 54Sc always shares information incommon with the virtual machine 56 a for the monitored/-controlledtarget device 56 held in the remote control server 54, as describedabove. Upon rewriting of the information of the virtual machine 56 a,the information of the monitored/controlled target device 56 isrewritten and controlled because the virtual machine 56 a always sharesinformation in common with the monitored/controlled target device 56.The control result is sent back to the center server 51 through a flowreversal to the above-described flow.

The above description is similarly applied to not only the cases ofcontrolling the monitored/controlled target devices 561, 562, 57, 571,572, 650, 651 and 652 from the center server 51 by using the inclusivevirtual machines 54Sc, 55Sc and 65Sc, but also the cases of controllingthe monitored/controlled target devices 56, 561, 562, 57, 571, 572, 650,651 and 652, which are connected to the remote control servers 54, 55and 56 via the respective control communication networks, from theclient terminal 52 by using the inclusive virtual machines 54Sd, 55Sdand 65Sd. The control results are also sent back to the remote controlservers from the center server and the client terminal.

A description is now made of the case of performing linked controlbetween the monitored/controlled target devices 56 and 57 which areconnected respectively to the remote control servers 54, 55 via thecontrol communication networks 59, 60.

In this case, the remote control server 55 includes the fixed agent 620,which always resides therein and has the monitoring function inputted inadvance so as to control the monitored/controlled target device 56 ifthere is an abnormality in the monitored/controlled target device 57.

When the remote control server 55 detects, e.g., an abnormality of themonitored/controlled target device 57 and controls themonitored/-controlled target device 56 as a linked target device,abnormal information of the monitored/controlled target device 57 isfirst detected by the remote control server 55 via the controlcommunication network 60 through the input/output unit 61, whereupon theinformation of the virtual machine 57 a for the monitored/controlledtarget device 57 is changed.

Upon a change in information of the virtual machine 57 a for themonitored/controlled target device 57, the fixed agent 620 held in theremote control server 55 is started up and operates the inclusivevirtual machine 54Sb, which is held in the remote control server 55 andalways shares information in common with the virtual machine 56 a forthe monitored/controlled target device 56 held in the remote controlserver 54, for the purpose of operating the monitored/controlled targetdevice 56 set as a linkage destination in advance. Upon a change ininformation of the inclusive virtual machine 54Sb held in the remotecontrol server 55, the information of the virtual machine 56 a ischanged because the virtual machine 56 a held in the remote controlserver 54 always shares information in common with the inclusive virtualmachine 54Sb. Correspondingly, the monitored/controlled target device 56is controlled because the virtual machine 56 a always shares informationin common with the monitored/controlled target device 56.

On the other hand, since the inclusive virtual machines 54Sc, 55Sc heldin the center server 51 and the inclusive virtual machines 54Sd, 55Sdheld in the client terminal 52 always respectively share information incommon with the virtual machines 56 a, 57 a for the monitored/controlledtarget devices 56, 57 held in the remote control servers 54, 55, theresult of the linked control is also reflected on the center server 51and the client terminal 52.

Furthermore, the remote control server 54 can monitor and control themonitored/controlled target devices, which are connected to the server54 via the respective control communication networks, in more flexibleways based on a comprehensive consideration by referring to recordinformation and control setting information of the inclusive virtualmachine 55Sb for the remote control server 55 and of the inclusivevirtual machine 65Sb for the remote control server 65, which are calledby and held in the server 54 itself. For example, when the remotecontrol server 54 performs scheduled operation of a certain device, itis possible to control the scheduled operation with the fixed agent 610always residing in the server 54 such that, when a current value of therelevant device connected to the server 54 via the control communicationnetwork exceeds a threshold and a total current value of the remotecontrol servers 54, 55 and 65 also exceeds a threshold, the relevantdevice can be operated for the remaining time if those current valuesare each within a limit value, by referring to the inclusive virtualmachines 55Sb, 65Sb called from the remote control servers 55, 65 andheld in the server 54 and considering the operating time of each of thedevices connected the remote control servers 55, 65 via the respectivecontrol communication networks.

When the number of target devices to be monitored and controlled reachesthe order of several tens thousands in practice, as shown, by way ofexample, in FIG. 12, a remote control server 90 is connected to theremote control servers 54, 55 and 65 via the WAN and/or LAN 53, and aninclusive virtual machine supervising function 901 for creating asupervising virtual machine to supervise inclusive virtual machines isprepared so as to always reside in the remote control server 90. Withthe virtual machine supervising function 901, the remote control server90 creates a supervising virtual machine for supervising an inclusivevirtual machine 54Se for the remote control server 54, an inclusivevirtual machine 55Se for the remote control server 55, and an inclusivevirtual machine 65Se for the remote control server 65, which are calledby and held in the remote control server 90. The center server 51 andthe client terminal 52 can efficiently share information in common withthe monitored/controlled target devices 56, 561, 562, 57, 571, 572, 650,651 and 652, and can quickly and smoothly control thosemonitored/-controlled target devices by calling, holding and operatingsupervising virtual machines 90Tc, 90Td created by the remote controlserver 90. The reason is as follows. For example, the supervisingvirtual machine 90Tc called by and held in the center server 51 sharesinformation in common with the inclusive virtual machine 54Se called byand held in the remote control server 90 from the remote control server54. Then, as described above, the inclusive virtual machine 54Sc sharesinformation in common with the virtual machines 56 a, 561 a and 562 acreated by and held in the remote control servers 55. Those virtualmachines share information in common with the monitored/controlledtarget devices 56, 561 and 562 connected to the remote control server 54via the control communication networks 59, 591 and 592, respectively.The above description is similarly applied to the remote control servers55, 65.

Further, a description is now made of the case of performing linkedcontrol between devices, in which, for example, themonitored/-controlled target device 56 connected to the remote controlserver 54 via the control communication network 59 and themonitored/controlled target device 57 connected to the remote controlserver 55 on the control communication network 60 through theinput/output unit 61 are target devices of the linked control.

In this case, the setting to perform the linked control between whichdevices is previously inputted in the fixed agent residing in each ofthe remote control servers.

For example, when an abnormality occurs in the state of themonitored/controlled target device 57 connected to the remote controlserver 55 through the input/output unit 61, the information of thevirtual machine 57 a is changed which is held in the remote controlserver 55 and always shares information in common with themonitored/controlled target device 57. Upon a change in contents of thevirtual machine 57 a, the contents of the inclusive virtual machine55Se, which is created by the remote control server 55 and is called byand held in the remote control server 90, is also changed because theinclusive virtual machine 55Se always shares information in common withthe virtual machine 57 a held in the remote control server 55.

Upon a change in contents of the inclusive virtual machine 55Se calledby and held in the remote control server 90, the information of theinclusive virtual machine 55Sb, which is created by the remote controlserver 55 and is called by and held in the remote control server 54, isalso changed because the inclusive virtual machine 55Sb always sharesinformation in common with the inclusive virtual machine 55Se. In theremote control server 54, the fixed agent 610 is started up with achange in contents of the inclusive virtual machine 55Sb, and theinformation of the virtual machine 56 a for the monitored/controlledtarget device 56, i.e., the target device of the linked control, ischanged. Upon a change in contents of the virtual machine 56 a, themonitored/controlled target device 56 is controlled because themonitored/controlled target device 56 always shares information incommon with the virtual machine 56 a.

Also, in the center server 51 and the client terminal 52, since thesupervising virtual machine 90Tc created by the remote control server 90and called by and held in the center server 51 and the supervisingvirtual machine 90Td created by the remote control server 90 and calledby and held in the client terminal 52 share information in common withthe inclusive virtual machine 55Se, the contents of the supervisingvirtual machines 90Tc, 90Td are also changed upon a change in contentsof the inclusive virtual machine 55Se held in the remote control server90.

For the contents of control made on the monitored/controlled targetdevice 56, the control result is linked because the virtual machines,the inclusive virtual machines and the supervising virtual machines heldin the remote control servers 54, 55, 65 and 90, the center server 51and the client terminal 52 always share information in common with eachother as described above.

Furthermore, the linked control between the other monitored/-controlledtarget devices can be performed through the remote control servers 54,55 and 65 in a similar manner, and hence a detailed description isomitted here.

If the remote control server 90, for example, should be failed, it ispossible to share information and perform the linked control between theremote control servers, and to ensure reliability of the system becauseeach of the remote control servers calls and holds therein the inclusivevirtual machines created by the other remote control servers.

INDUSTRIAL APPLICABILITY

The present invention has the industrial applicability as follows.

-   -   (1) A virtual machine, which is a software object described as        the other self of a monitored/controlled target device in the        center or the client having the same information as that        possessed by the monitored/controlled target device, always        shares the same information as that possessed by the        monitored/controlled target device. Therefore, the center or the        client can easily monitor and control the monitored/-controlled        target device in a remote place by changing the virtual machine        held by itself.    -   (2) Because the virtual machine can be utilized as a software        part in development of software for realizing monitoring/control        of the device, an advanced monitoring/control system can be        constructed without knowledge regarding data communications and        measurement control.    -   (3) Because change of the system, setting of various parameters,        etc. can be performed via a network, the frequency of        replacement of devices and the frequency at which engineers must        actually go to sites are reduced. The maintenance cost is hence        cut down.    -   (4) Because a control network and an information network can be        seamlessly linked with each other and the virtual machines are        installed using the network distributed object technique without        position dependency, it is possible to monitor and control the        devices by utilizing the agent technique.    -   (5) The number of the monitored/controlled target devices        handled by the center server and the client terminal can be        greatly increased, and the traffic amount among the many        monitored/controlled target devices, the remote control servers,        the center server, and the client terminal can be reduced.        Consequently, efficient management, monitoring and control can        be realized.

By mounting wireless public telephones such as cellular phones, forexample, the server can establish the connection via wireless publiclines even in a district where a wired public line network is notinstalled. Also, since the server has a serial port capable of switchingover the connection to RS232C and allowing an external communicationdevice to be attached to the port, it is possible to increase not only avariety of available means for communication with the outside, but alsoa variety of places in which the server can be installed.

-   -   (6) The server has a communication port for transferring control        signals and data with respect to the monitored/controlled target        device and the input/output unit, and can supply electric power        to devices, etc. connected to the communication port.        Accordingly, electrical wiring for the monitored/controlled        target device can be facilitated.    -   (7) Communications can be realized via a wide area communication        network using TCP/IP, for example. Therefore, when the center,        etc. are located in remote districts, the communication charge        can be reduced in comparison with the case of employing the        public lines by utilizing the Internet. In addition, access to        the remote control sever can be easily and inexpensively        realized from every corners in the world.    -   (8) Data can be directly collected from the monitored/controlled        target device.    -   (9) Because the server has a serial port dedicated for setting        of functions and maintenance of the system, the setting of        functions and the maintenance of the system can be performed        with ease.    -   (10) With the provision of a backup circuit, the system can be        restored to the status prior to power-down without losing data        in the event of the power-down. Accordingly, continuity of        monitored/controlled data, etc. can be protected as far as        possible.    -   (11) When shutdown or the like is externally conducted through a        software input switch, hardware can be brought into an end after        ending the started-up application, etc. with safety.    -   (12) Because of employing the real-time operating system that is        adopted in space ships as well, stable monitoring and control of        devices can be performed and reliability of the overall system        can be increased. Also, because of having the Java run        environment, efficient system construction can be realized with        a visual development environment based on the object oriented        programming.    -   (13) The system can be constructed even in place or environment        in which it has been impossible to install the system in the        past, and hence can be applied in a wider region than a        conventional system. Also, since the system can be operated from        a mobile medium, the system management is no longer bound to a        stationary place. In the event of an abnormality, a prompt        action can be realized, for example, by urgently calling a        maintenance person.    -   (14) It is possible to utilize database in the center server,        the client terminal or an external system, and to handle and        process data in an external system. As a result, the accuracy in        data analysis can be improved.    -   (16) Because universal digital inputs can be handled with Java        applications, a wider application region is realized.    -   (17) Because operating and abnormal conditions of the system can        be stored, as log messages, in a nonvolatile memory, loss of        data can be protected. Also, because a system alarm message,        etc. are sent to a surveillant person via, e.g., E-mails, a        prompt action can be achieved.    -   (18) Because monitoring and control can be performed by creating        an agent so as to always reside therein, sole operation of the        server can be realized and autonomous monitoring and control can        be performed even when the client terminal or the other center        goes down. Also, because there is no necessity of keeping the        device connected to the communication at all times, the        communication charge is cut down.    -   (19) The system can be operated to be more finely adaptable for        user's needs, and efficient operation management of the overall        system can be realized. Finer and more flexible monitoring and        control can be performed while monitoring the status of each of        the interconnected devices among the remote control servers, and        considering records collected by the other remote control        servers and control settings synthetically.

1. A system for autonomous decentralized control, comprising: a clientterminal; a center server; a remote control server; a network, theclient terminal, the center server and the remote control server areconnected through a WAN and/or LAN; a monitored/controlled target devicehaving a memory and connected to the remote control server through acontrol communication network including a power line communicationnetwork; and a virtual machine, which is described as a duplication ofthe monitored/controlled target device and has the same information asthat possessed by the memory of the monitored/controlled target device,and which is software objects having communication protocols used forperforming control communication with the monitored/controlled targetdevice on the control communication network and concealed in thesoftware objects, wherein the virtual machine is movable in the systemwith transparency through rewriting of status information and controlinformation of the monitored/controlled target device into the softwareobject, wherein the virtual machine comprises a virtual machine softwarethat operates the monitored/controlled target device and an interfacesoftware which is in pair to the virtual machine software, the interfacesoftware containing the communication protocols used for performingcontrol communication with the monitored/controlled target device on thecontrol communication network, and wherein the remote control servercomprises a virtual machine management table for themonitored/controlled target device, a virtual machine software libraryfor the monitored/controlled target device, and an interface softwarelibrary for control communication of the monitored/controlled targetdevice, and, in response to the client terminal or the center serveraccessing the remote control server and designating the virtual machinesoftware, the remote control server distributes the virtual machinesoftware to the client terminal or the center server and the virtualmachine software on the client terminal or center server side iscombined with the interface software which is in pair to the virtualmachine software on the remote control server side to form the virtualmachine.
 2. A system according to claim 1, wherein said remote controlserver is able to perform at least one of creating, holding,distributing and operating the virtual machine.
 3. A system according toclaim 1, wherein said remote control server has functions capable of atleast one of creating, holding, distributing and operating the virtualmachine, and also has functions capable of at least one of calling,holding and operating a virtual machine created by another remotecontrol server.
 4. A system according to any one of claims 1, 2 and 3,wherein said remote control server comprises a fixed agent, which alwaysresides therein and is inputted in advance so as to control the virtualmachine.
 5. A system according to claim 4, wherein said remote controlserver has functions capable of at least one of creating, holding,distributing and operating an inclusive virtual machine, the inclusivevirtual machine having at least one of information of setting of aplurality of virtual machines, information of setting the fixed agent,and records acquired through each of the virtual machines, and saidremote control server has functions capable of at least one of creating,holding, distributing and operating a supervising virtual machine forsupervising a plurality of inclusive virtual machines.
 6. A systemaccording to claim 5, wherein said remote control server has functionscapable of at least one of calling, holding and operating the inclusivevirtual machine and the supervising virtual machine created by anotherremote control server.
 7. A system according to claim 5, wherein saidremote control server has a remote station system for causing the fixedagent to be distributed or to reside.
 8. A system according to claim 5,wherein said center server is able to at least one of create, hold andoperate the virtual machine, and to distribute the virtual machineand/or the fixed agent to one or more remote control servers, saidcenter server being capable of at least one of creating, holding,distributing and operating the inclusive virtual machine, said centerserver being capable of at least one of creating, holding, distributingand operating the supervising virtual machine, and said center serverbeing capable of at least one of calling, holding and operating thevirtual machines, the inclusive virtual machines and the supervisingvirtual machines created by the remote control servers.
 9. A systemaccording to claim 8, wherein: said remote control server havingfunctions capable of at least one of calling, holding and operating theinclusive virtual machine and the supervising virtual machine created byanother remote control server, wherein said remote control server isable to at least one of change information of each of the plurality ofthe monitored/controlled target devices and monitor and control eachtarget device by operating the at least one of the virtual machines, theinclusive virtual machines and the supervising virtual machines, andsaid remote control server has a remote station system for causing thefixed agent to be distributed or to reside.